home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / games / sbs301.zip / BASEBALL.INF < prev    next >
Text File  |  1995-07-24  |  14KB  |  324 lines

  1. BASEBALL.INF
  2. August 1, 1995
  3.  
  4.                     JUST HOW DOES THIS THING WORK?
  5.  
  6. A few people have asked how SBS goes about simulating a game, so I
  7. decided to write down a few notes for those interested.
  8.  
  9.  
  10. HITTING vs PITCHING - the first step:
  11.  
  12. A hitter can do one of six things in SBS. He can:
  13.   1) Make an out.
  14.   2) Get a walk.
  15.   3) Get a single.
  16.   4) Get a double.
  17.   5) Get a triple.
  18.   6) Get a Home Run.
  19. (He could also get on base on an error but that is really a subset of
  20. making an out as far as the stats are concerned). SBS calculates from
  21. the hitter's record the probability of each occurrence. Then the
  22. pitcher's record is considered which modifies the probabilities. This
  23. will be demonstrated by working through an example. Consider the batter
  24. named Joe Hitter:
  25.  
  26.              AB  Hits 2B  3B  HR  BB  K   AVG
  27. Joe Hitter  482  147  20   4  12  41  71 .305
  28.  
  29. Compute PA (Plate Appearances) = AB + BB = 523
  30.   (ignore sacrifice hits and Hit-By-Pitched-Balls which would make PA a
  31.   little larger)
  32. Compute HBB (probability of Walk) = BB / PA                       = .078
  33. Compute H1 (probability of single) = (Hits - (2B + 3B + HR)) / PA = .212
  34. Compute H2 (probability of double) = 2B / PA                      = .038
  35. Compute H3 (probability of triple) = 3B / PA                      = .007
  36. Compute H4 (probability of HR) = HR / PA                          = .023
  37.                                                                  -------
  38.                                                                     .358
  39.  
  40. What's left is the probability of making an out (or possibly getting on
  41. on an error): 1.000 - .358                                        = .642
  42.  
  43. We have determined Joe's probabilities as a whole against all the
  44. pitchers he faced that particular season. But now we have to calculate
  45. probabilities given a particular pitcher. Consider a player named Jack
  46. Pitcher:
  47.  
  48.               IP  Hits  HR  BB  K
  49. Jack Pitcher 200  210   15  50  80
  50.  
  51. If a pitcher threw 200 innings we know he got approximately 600 batters
  52. out. The ones he did not get out got hits or walks or reached on errors.
  53.  
  54. Compute BF (batters faced) = (IP x 3) + Hits + BB
  55.  
  56. Sometimes a pitcher gets a few extra outs such as double plays and
  57. runners getting thrown out on the bases. On the other hand sometimes he
  58. faces extra hitters because his defense makes errors. These two factors
  59. just about cancel each other out so we can leave the BF equation alone
  60. for purposes of explanation.
  61.                        
  62. We now need to compute the probabilities for the pitcher for the same
  63. events that we calculated for the batter.
  64.  
  65. Compute BF (batters faced) = (IP x 3) + Hits + BB = 860
  66.  
  67. Compute PBB (probability of Walk) = BB / BF                      = .0581
  68. Compute P1 (probability of single) =  Hits x .717 / BF           = .1751
  69. Compute P2 (probability of double) =  Hits x .174 / BF           = .0425
  70. Compute P3 (probability of triple) =  Hits x .024 / BF           = .0059
  71. Compute P4 (probability of HR) = HR / BF                         = .0174
  72.  
  73. The statistics do not usually tell us how many singles, doubles and
  74. triples a pitcher allowed. Usually just the totals hits and home runs
  75. are given. However, we can use the multipliers .717, .174 and .024 to
  76. estimate singles, doubles and triples from the total number of hits.
  77. [If all "HR's allowed" are zero in the .DAT file, SBS uses a "league
  78. average" for P4 found from data in the .CFG file. This essentially
  79. removes any influence a pitcher has over this statistic, however].
  80.  
  81. Comparing the percentages we obtained from the hitter with the pitcher
  82. we have come up with the following:
  83.  
  84. Event       Hitter       Pitcher
  85. ------      ------       -------
  86. walk         7.72%         5.81%
  87. single      20.90%        17.51%
  88. double       3.77%         4.25%
  89. triple       0.75%         0.59%
  90. home run     2.26%         1.74%
  91. out         64.60%        70.10%
  92.  
  93. At first glance it might seem that all we need to do now is average the
  94. hitters and pitchers events like this:
  95.  
  96. single = (20.9% + 17.51%) / 2 = 19.21%
  97. etc. for the rest of the events
  98.  
  99. This method is unacceptable, however, because it penalizes the outstanding
  100. players and rewards the poor players. That is, it tends to lump everyone
  101. together too much. In our example above we have a good hitter, (.305 vs
  102. the league) against a quite average pitcher. Certainly we could not
  103. expect his single% to DROP to 19.21% from 20.90%! After all if this is
  104. an average pitcher we would expect our batter to do at least as well
  105. against him as he did against the rest of the league!
  106.  
  107. The solution is to use "league averages" for the events and to compare
  108. our pitcher's performance against the league averages. For example, we
  109. can pick up a baseball statistics magazine containing the statistics
  110. from the preceding year, and calculate the total "batter's faced" for
  111. all the pitchers for the entire season. We can also total the number of
  112. walks, hits, and home runs -- and estimate using our multipliers above
  113. -- the total number of singles, doubles, and triples. Then we can
  114. calculate our "league averages".
  115.  
  116. For example, we find that for an entire season there was 17,500 innings
  117. pitched, 16,500 hits, 1450 Home Runs, 6,300 walks. Calculate League
  118. Averages:
  119.  
  120.   League Avg. BF = 17,500 x 3 + 16,500 +  6,300 = 75,300
  121.  
  122.    " " " "    LABB     =         6,300 / 75,300 = .0837
  123.    " " " "    LA1      = .717 x 16,500 / 75,300 = .1571
  124.    " " " "    LA2      = .174 x 16,500 / 75,300 = .0381
  125.    " " " "    LA3      = .024 x 16,500 / 75,300 = .0053
  126.    " " " "    LA4      =         1,450 / 75,300 = .0193
  127.  
  128. Finally we can combine our hitter percentages with our pitcher
  129. percentages to get meaningful probabilities:
  130.  
  131. Combined percentages:
  132. walk%     = HBB * (PBB / LABB)  = .0536
  133. single%   = H1  * (P1  / LA1)   = .2329
  134. double%   = H2  * (P2  / LA2)   = .0421
  135. triple%   = H3  * (P3  / LA3)   = .0083
  136. home run% = H4  * (P4  / LA4)   = .0204
  137.  
  138. Note that if the pitcher's percentages are nearly equal to the League
  139. Averages, the second factor becomes essentially 1 and the hitter
  140. performs as expected. But if the pitcher's percentages are substantially
  141. better (lower) than the League Averages, the second factor will be less
  142. than 1 and the hitter will suffer. The reverse is true if the pitcher's
  143. percentages are worse (larger) than the League Averages.
  144.  
  145.  
  146. RIGHTYS VS LEFTYS - the second step:
  147.  
  148. The example above is the basis of how a given hitter is expected to
  149. perform against a given pitcher. But we also can fine-tune our model to
  150. correct for the baseball maxim that right-handed batters do better
  151. against left-handed pitchers and vice-versa. [A batter facing a
  152. like-handed pitcher suffers somewhat]. This is, of course, a very
  153. individual thing -- not affecting some players while severely affecting
  154. others. SBS does not know which players are exceptional in this area --
  155. the data files do not show a breakdown versus right or left handed
  156. opponents. But we can make some broad assumptions which are useful in
  157. large simulations.
  158.  
  159. Approximately two-thirds of all innings pitched are by right-handers.
  160. Because a typical batter will see so much more right-handed pitching
  161. than left-handed pitching, his average vs. left-handed pitching will
  162. show a greater fluctuation.
  163.  
  164. Consider the following typical scenario for a RIGHT-handed hitter:
  165.  
  166.                               AB   Hits  Avg.
  167.                             _________________
  168.  Total                     | 600   180  .300
  169.                            |
  170.  vs. Right-Handed Pitching | 400   116  .290
  171.                            |
  172.  vs. Left-Handed Pitching  | 200    64  .320
  173.  
  174. Notice that his boost vs left-handed pitching (20 points) is twice that
  175. of his penalty vs. right-handed pitching (10 points). This is because he
  176. sees approximately twice as much right-handed pitching over the course
  177. of a season.
  178.  
  179. For the typical LEFT-handed hitter:
  180.  
  181.                               AB   Hits  Avg.
  182.                             _________________
  183.  Total                     | 600   180  .300
  184.                            |
  185.  vs. Right-Handed Pitching | 400   124  .310
  186.                            |
  187.  vs. Left-Handed Pitching  | 200    56  .280
  188.  
  189. Notice that his penalty vs left-handed pitching (20 points) is twice
  190. that of his boost vs. right-handed pitching (10 points). Again, this is
  191. because a full-time player sees twice as much right-handed pitching as
  192. left-handed pitching.
  193.  
  194. Actually SBS does not reward and/or penalize by an absolute number of
  195. batting "points" but instead increases or decreases each of the hitter's
  196. probabilities by a percentage. SBS uses 3% and 6% for the percentages to
  197. reward or penalize. This adjustment is spread out among all the types of
  198. hits, not just singles.
  199.  
  200.  
  201. PITCHER FATIGUE FACTOR - the third step:
  202.  
  203. We have looked at two of the three major factors used in determining the
  204. percentages of events. The last major factor is the Pitcher Fatigue
  205. factor.  That is, how does the effectivity of a pitcher vary over the
  206. course of a game -- or when does he tire out. SBS uses a linear function
  207. for pitcher fatigue which makes a pitcher more effective than normal if
  208. the pitcher has worked less than about 4 innings and less effective than
  209. normal if the pitcher has worked more than about 4 innings.  However SBS
  210. treats starting pitchers differently from relievers.  SBS assumes
  211. relievers tire more quickly so the break-off point is about 2 innings
  212. instead of 4.
  213.  
  214.  
  215. PUTTING IT ALL TOGETHER:
  216.  
  217. Lets say we now have arrived at our five percentages and have adjusted
  218. them the way we want for the righty/lefty effect and the pitcher fatigue
  219. effect. We now need to "stack" them on top of each other and calculate
  220. the "break" points.  Now the percentages are some fraction between 0 and
  221. 1.
  222.  
  223. bk1 = walk%
  224. bk2 = bk1 + single%
  225. bk3 = bk2 + double%
  226. bk4 = bk3 + triple%
  227. bk5 = bk4 + home run%
  228.  
  229. We now call our random number function which returns a (pseudo) random
  230. number between 0 and 1 -- and compare it with our break points. If "x"
  231. is our random number:
  232.  
  233. If x is greater than 0   but less than bk1 --> walk
  234. If x is greater than bk1 but less than bk2 --> single
  235. If x is greater than bk2 but less than bk3 --> double
  236. If x is greater than bk3 but less than bk4 --> triple
  237. If x is greater than bk4 but less than bk5 --> home run
  238. If x is greater than bk5 but less than 1   --> out OR on by error
  239.  
  240. Handling the "outs" is a matter of deciding to which defensive player
  241. the ball was hit, whether or not it was a ground ball or a fly ball, and
  242. whether or not the defensive man handled it cleanly.
  243.  
  244. Whether or not a player "pulls" the ball is influenced by the velocity
  245. of the pitcher. That is, his ability to "get around" on the pitcher. SBS
  246. uses a function based on a pitcher's strike out percentage to simulate
  247. his velocity and thus a hitter's ability to pull the ball. So a pitcher
  248. with big strike out totals is more difficult to pull than the pitcher
  249. who doesn't strike out many. OK, this is crude but its the best we've
  250. got!
  251.  
  252.  
  253. SPEED/STOLEN BASES:
  254.  
  255. The .dat files contain a column for stolen bases which SBS translates
  256. (via a formula) into a general purpose speed rating (1-9). You can view
  257. this speed rating by popping up your lineup or the opponent's lineup.
  258. The numbers 1 through 9 are roughly proportional to a player's chances
  259. of stealing 2nd or 3rd base. That is, a player with a speed rating of 9
  260. would have approximately a 90% chance of stealing 2nd or 3rd. A rating
  261. of 5 would be a 50% chance, etc. If the opponent calls a pitch-out the
  262. chance of success is reduced by 25% (but the chance of walking the
  263. batter increases by 25%). The chance of success is also reduced if a
  264. runner on 1st is trying to steal against a left-handed pitcher or a
  265. runner or 2nd is trying to steal against a right-handed pitcher.
  266.  
  267. The formula to calculate the speed rating from the .dat file information
  268. estimates the number of times the player made it to first base (ABs,
  269. singles & BBs) and then multiplies that by a fraction to estimate the
  270. number of steal opportunities the player might have had. Then it compares
  271. that estimate to the number of stolen bases and assigns a speed rating.
  272. The method is somewhat crude in that is penalizes fast players that
  273. happen to play on teams that just do not attempt to steal. On the other
  274. hand it helps players who are efficient at stealing bases even if they
  275. are not actually all that fast.
  276.  
  277. The speed rating has other uses beside the stolen base. It helps
  278. determine the likelihood of the player hitting into a double play or
  279. successfully executing a drag bunt. It also helps determine if a runner
  280. goes from 1st to 3rd on a single or scores from 2nd on a single. Or if a
  281. runner on 1st can score on a double. (The number of outs and where the
  282. ball is hit is a big factor here also. For example, runners tend to play
  283. it safe with no outs but usually will try to take the extra base with
  284. two out).
  285.  
  286.  
  287. INFIELD "IN":
  288.  
  289. This defensive strategy will cut off almost all runners who would
  290. otherwise score on a ground ball to an infielder [especially to the
  291. shortstop or second baseman].  The penalty is that the batter's base-hit
  292. percentages are adjusted upward dramatically because more ground balls
  293. will go through the infield.  A .250 hitter becomes a .350 hitter. [When
  294. the player or the automatic manager chooses to play the infield in, it
  295. is only in effect for the current batter].
  296.  
  297.  
  298. AUTOMATIC MANAGER:
  299.  
  300. SBS has not yet been programmed for brilliant management, but it does
  301. make basic offensive and defensive maneuvers.
  302.  
  303. On defense SBS can:
  304.  1) pull the infield in
  305.  2) call for a pitch-out
  306.  3) call for an intentional walk
  307.  4) evaluate pitcher and go to the bullpen if necessary
  308.  
  309. On offense SBS can:
  310.  1) pinch hit if a suitable pinch hitter is available
  311.  2) sacrifice bunt or squeeze bunt
  312.  3) steal
  313.  
  314. The automatic manager does no pinch running or double-switch stuff. No
  315. "chess games" vs the other side. You will find that on offense the
  316. automatic manager is fairly aggressive. He is not shy about trying to
  317. steal bases or squeeze home a run.
  318.  
  319.  
  320. HAVE FUN:
  321.  
  322. I hope this gives you a general idea of how the program operates. If you
  323. have questions, feel free to write.
  324.